1. Field of the Invention
The present invention relates generally to the diagnostics of machine malfunctions and more particularly to the automated derivation of repair recommendations through analysis of error logs generated from malfunctioning machines.
2. Description of the Related Art
In either an industrial or commercial setting, a machine malfunction can impair a business severely. Thus, it is essential that a malfunctioning machine be repaired quickly and accurately. Usually, during a malfunction of a machine (i.e. any mechanical, chemical, electronic, or micro-processor controlled device), a field engineer is called in to diagnose and repair the device. Typically, the field engineer will look at an error log generated from the machine, which contains sequences of events that occurred during both routine operation as well as during any malfunction situation. The error log represents a "signature" of the, operation of the machine and can be used to correlate malfunctions. Using their accumulated experiences at solving machine malfunctions, the field engineer looks through the error log and tries to find any symptoms that may point to the fault. Then the field engineer will try to correct the problem that may be causing the machine malfunction. If the error log contains only a small amount of error log information, this process will work fairly well. However, if the error log contains a large amount of imprecise information as is usually the case for large complex devices, it will be very difficult for the field engineer to diagnose a fault.
In order to overcome the problems associated with evaluating large amounts of data in error logs, diagnostic expert systems have been put into use. Diagnostic expert systems are developed by interviewing field engineers to determine how they go about fixing a machine malfunction. From the interview, rules and procedures are formulated and stored in a repository, taking the form of either a rule base or a knowledge base. The rule or knowledge base is implemented with a rule interpreter or a knowledge processor to form the diagnostic expert system. In operation, the rule interpreter or knowledge processor is used to quickly find needed information in the rule or knowledge base to evaluate the operation of the malfunctioning machine and provide guidance to a field engineer. Problems associated with conventional diagnostic expert systems are that these systems are limited to the rules or knowledge stored in the repository, knowledge extraction from experts is time consuming, error prone and expensive, rules are brittle and cannot be updated easily. In order to update the diagnostic expert system, the field engineers have to be continually interviewed so that the rules and premiums can be reformulated.
Other diagnostic systems have used artificial neural networks to correlate data in order to diagnose machine faults. An artificial neural network typically includes a number of input terminals, a layer of output nodes, and one or more "hidden" layers of nodes between the input and output nodes. Each node in each layer is connected to one or more nodes in the preceding or following layer, possibly to an output terminal, and possibly to one or more input terminals. The connections are via adjustable-weight links analogous to variable-coupling strength neurons. Before being placed in operation, the artificial neural network must be trained by iteratively adjusting the connection weights and offsets, using pairs of known input and output data, until the errors between the actual and known outputs are acceptably small. A problem with using an artificial neural network for diagnosing machine malfunctions, is that the neural network does not produce explicit fault correlations that can be verified by experts and adjusted if desired. In addition, the conventional steps of training an artificial neural network do not provide a measure of its effectiveness so that more data can be added if necessary. Also, the effectiveness of the neural network is limited and does not work well for large number of variables.
Other diagnostic expert systems have used case-based reasoning to diagnose faults associated with malfunctioning machines. Case-based diagnostic systems use a collection of data known as historical cases and compare it to a new set of data, a case, to correlate data for diagnosing faults. A problem associated with using case-based reasoning is that it is effective for small sets of data containing well defined parsmeters. It is very difficult for a case-based diagnostic system to boil down large, nearly free-form input data and extract important parameters therefrom.